home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / m17n / scripts / tbl2mim.awk
Text File  |  2009-04-29  |  2KB  |  55 lines

  1. #!/usr/bin/gawk -f
  2. # Copyright (C) 2006
  3. #   National Institute of Advanced Industrial Science and Technology (AIST)
  4. #   Registration Number H15PRO112
  5.  
  6. # This file is part of the m17n contrib; a sub-part of the m17n
  7. # library.
  8.  
  9. # The m17n library is free software; you can redistribute it and/or
  10. # modify it under the terms of the GNU Lesser General Public License
  11. # as published by the Free Software Foundation; either version 2.1 of
  12. # the License, or (at your option) any later version.
  13.  
  14. # The m17n library is distributed in the hope that it will be useful,
  15. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  17. # Lesser General Public License for more details.
  18.  
  19. # You should have received a copy of the GNU Lesser General Public
  20. # License along with the m17n library; if not, write to the Free
  21. # Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  22. # Boston, MA 02110-1301, USA.
  23.  
  24. BEGIN {
  25.     begin_table = 0;
  26. }
  27.  
  28. /^ICON *=/ { ICON = " \""$3"\""; next; }
  29. /^NAME *=/ { NAME = tolower($3); next; }
  30. /^LANGUAGES *=/ {
  31.     LANG = $3;
  32.     if (LANG == "other")
  33.     LANG = "t";
  34.     next; }
  35. /^STATUS_PROMPT *=/ { TITLE = $3; next; }
  36. /^BEGIN_TABLE/ {
  37.     printf "(input-method %s %s)\n", LANG, NAME;
  38.     printf "(title \"%s\"%s)\n", TITLE, ICON;
  39.     printf "(map\n (trans";
  40.     begin_table = 1;
  41.     next;
  42. }
  43. /^END_TABLE/ {
  44.     begin_table = 0;
  45.     printf "))\n(state (init (trans)))\n";
  46.     next;
  47. }
  48.  
  49. {
  50.     if (begin_table) {
  51.     gsub("[\\\\\"]", "\\\\&");
  52.     printf "\n  (\"%s\" \"%s\")", $1, $2;
  53.     }
  54. }
  55.